package windows;



import java.awt.Container;
import java.awt.Font;

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import java.awt.event.WindowEvent;
import java.awt.event.WindowListener;

import javax.swing.BorderFactory;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.WindowConstants;

import coordinators.Cordinator;


public class WindowAdministrator extends JFrame implements ActionListener,KeyListener
{
	/**
	 *
	 */
	private static final long serialVersionUID = 1L;
	private Container Contenedor;
	private JMenuBar barra_principal;

	private JMenu menu_Archivo;
	private JMenuItem item_Salir;


	private JMenu menu_GestionarClientes;
	private JMenuItem item_GestionarClientes;

	private JMenu menu_GestionarInsumos;
	private JMenuItem item_GestionarInsumos;

	private JMenu menu_GestionarPedidos;
	private JMenuItem item_GestionarPedidos;

	private JMenu menu_CrearReporte;
	private JMenuItem item_CrearReporte;

	private JMenu menu_DistribuirPedido;
	private JMenuItem item_DistribuirPedido;

	private JButton boton_salir;

	private JLabel etiqueta_logo;
	private JLabel etiqueta_nombreEps;
	private JLabel etiqueta_nit;


	ImageIcon logo;

	Cordinator coordinador;

	public WindowAdministrator(WindowPrincipal superior)
	{
		
		// TODO Auto-generated constructor stub

		Contenedor = getContentPane();
		Contenedor.setLayout(null);

		logo = new ImageIcon("familiasf.jpg");

		barra_principal = new JMenuBar();
		setJMenuBar(barra_principal);

		menu_Archivo= new JMenu("Archivo");
		item_Salir = new JMenuItem("Salir");
		menu_Archivo.add(item_Salir);
		barra_principal.add(menu_Archivo);

		menu_GestionarClientes = new JMenu("Cliente");
		item_GestionarClientes = new JMenuItem("Gestionar Clientes");
		menu_GestionarClientes.add(item_GestionarClientes);
		barra_principal.add(menu_GestionarClientes);

		menu_GestionarInsumos = new JMenu("Insumos");
		item_GestionarInsumos = new JMenuItem("Gestionar Insumos");
		menu_GestionarInsumos.add(item_GestionarInsumos);
		barra_principal.add(menu_GestionarInsumos);

		menu_GestionarPedidos = new JMenu("Pedidos");
		item_GestionarPedidos = new JMenuItem("Gestionar Pedidos");
		menu_GestionarPedidos.add(item_GestionarPedidos);
		barra_principal.add(menu_GestionarPedidos);

		menu_CrearReporte = new JMenu("Reporte");
		item_CrearReporte = new JMenuItem("Generar Repostes");
		menu_CrearReporte.add(item_CrearReporte);

		barra_principal.add(menu_CrearReporte);

		menu_DistribuirPedido = new JMenu("Pedido");
		item_DistribuirPedido = new JMenuItem("Distribuir pedidos");
		menu_DistribuirPedido.add(item_DistribuirPedido);

		barra_principal.add(menu_DistribuirPedido);

		boton_salir = new JButton("Salir");
		boton_salir.setBounds(270,140,80,25);
		Contenedor.add(boton_salir);

		etiqueta_logo = new JLabel(logo);
		etiqueta_logo.setBorder(BorderFactory.createBevelBorder(1));
		etiqueta_logo.setBounds(20,20,160,160);
		Contenedor.add(etiqueta_logo);

		etiqueta_nombreEps = new JLabel("Pasteleria Ing. soft");
		etiqueta_nombreEps.setFont(new Font("Times New Roman", 3, 25));
		etiqueta_nombreEps.setForeground(new java.awt.Color(0, 0, 153));
		etiqueta_nombreEps.setBounds(200,20,240,30);
		Contenedor.add(etiqueta_nombreEps);

		etiqueta_nit = new JLabel("NIT: 899.254.321");
		etiqueta_nit.setFont(new Font("Script MT Bold", 3, 18));
		etiqueta_nit.setForeground(new java.awt.Color(0, 0, 153));
		etiqueta_nit.setBounds(225,50,180,30);
		Contenedor.add(etiqueta_nit);

		setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
		this.addWindowListener(new WindowListener() 
		{
	        public void windowClosed(WindowEvent arg0) 
	        {
	            coordinador.ProcessCloseWindowAdministrator();
	        }
	        public void windowClosing(WindowEvent arg0) 
	        {
	        }
			public void windowActivated(WindowEvent e) 
			{
			}
			public void windowDeactivated(WindowEvent e) 
			{
			}
			public void windowDeiconified(WindowEvent e) 
			{
			}
			public void windowIconified(WindowEvent e) 
			{
			}
			public void windowOpened(WindowEvent e) 
			{
			}
		});
		
		setTitle("Administrador");
		setSize(470,250);
		setLocation(200,100);
		setResizable(false);

		item_Salir.addActionListener(this);
		item_GestionarClientes.addActionListener(this);
		item_GestionarInsumos.addActionListener(this);
		item_GestionarPedidos.addActionListener(this);

		item_CrearReporte.addActionListener(this);
		item_DistribuirPedido.addActionListener(this);

		boton_salir.addActionListener(this);
		boton_salir.addKeyListener(this);
	}
	public void actionPerformed(ActionEvent evento)
	{
		if(evento.getSource()==item_GestionarClientes)
		{
			coordinador.ProcessManageClient();
		}

		if(evento.getSource()==item_GestionarInsumos)
		{
			coordinador.ProcessManageInsumos();
		}

		if(evento.getSource()==item_GestionarPedidos)
		{
			coordinador.ProcessManageOrder();
		}
		if(evento.getSource()==item_CrearReporte)
		{
			coordinador.ProcessCreateReport();
		}
		if(evento.getSource()==item_DistribuirPedido)
		{
			coordinador.ProcessDistributeOrder();
		}
		if(evento.getSource()==item_Salir)
		{
			coordinador.ProcessCloseWindowAdministrator();
		}

		if(evento.getSource()==boton_salir)
		{
			coordinador.ProcessCloseWindowAdministrator();
		}
	}


	public void keyTyped(KeyEvent e)
	{

	}

	public void keyReleased(KeyEvent e)
	{
		
	}

	public void keyPressed(KeyEvent e)
	{

	}
	public void setCoordinador(Cordinator c)
	{
		coordinador = c;
	}
}
